/**
* 版权所有:版权所有(C) 2020，卓信科技
* 系统名称:FOL-财务管理系统
* 文件名称:BaseDao.java
* 模块名称:TODO(这里请补充模块名称)
* 创建日期:2020年5月19日
* 作        者:baisong
* 内容摘要:TODO(这里请补充详细的描述信息)
*/
package com.zx.emanage.util.gen;

import java.util.List;
import java.util.Map;

/**
 * 类  名  称:BaseDao
 * 内容摘要:TODO(这里详细描述这个类的作用)
 * 作        者:baisong
 */
public interface BaseDao<T> {
	/*
	 * T get(Integer id);
	 * 
	 * List<T> search(Map<String, Object> parameters);
	 * 
	 * Integer save(T t);
	 * 
	 * void delete(Integer[] id);
	 * 
	 * void update(T t);
	 * 
	 * int findCount(Map<String, Object> paramMaps);
	 */
	/**
	 * 
	 * get:根据主键获取实体类. <br/>
	 * 
	 * @author Administrator
	 * @param id
	 * @return
	 * @since JDK 1.6
	 */
	T get(Integer id);

	/**
	 * 
	 * search:根据传人的条件动态生成sql语句，如需分页需要在sql中加入offset、pagesize变量 <br/>
	 * 
	 * @author Administrator
	 * @param parameters
	 * @return
	 * @since JDK 1.6
	 */
	List<Map<String, Object>> search(Map<String, Object> parameters);

	/**
	 * 
	 * save:在数据库中insert一条记录. <br/>
	 * 
	 * @author Administrator
	 * @param t
	 * @return
	 * @since JDK 1.6
	 */
	Integer save(T t);

	/**
	 * 
	 * delete:删除数据库记录，该方法请慎用，MCS系统中为逻辑删除. <br/>
	 * 
	 * @author Administrator
	 * @param id
	 * @since JDK 1.6
	 */
	void delete(Integer[] id);

	/**
	 * 
	 * update:更新传人的实体类. <br/>
	 * 
	 * @author Administrator
	 * @param t
	 * @since JDK 1.6
	 */
	int update(T t);

	/**
	 * 
	 * findCount:根据查询条件返回记录总条数. <br/>
	 * 
	 * @author Administrator
	 * @param paramMaps
	 * @return
	 * @since JDK 1.6
	 */
	int findCount(Map<String, Object> paramMaps);

	List<T> getListByEntity(T t);
}
